package com.micro.school.order.service.impl;

import com.micro.school.order.entity.PayStandardFeeItemDetail;
import com.micro.school.order.mapper.PayStandardFeeItemDetailMapper;
import com.micro.school.order.service.IPayStandardFeeItemDetailService;
import com.micro.school.order.vo.PayStandardFeeItemDetailVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 标准收费项目管理明细Service业务层处理
 * 
 * @author lyb
 * @date 2025-08-14
 */
@Service
public class PayStandardFeeItemDetailServiceImpl implements IPayStandardFeeItemDetailService
{
    @Autowired
    private PayStandardFeeItemDetailMapper payStandardFeeItemDetailMapper;

    /**
     * 查询标准收费项目管理明细
     * 
     * @param id 标准收费项目管理明细主键
     * @return 标准收费项目管理明细
     */
    @Override
    public PayStandardFeeItemDetailVo selectPayStandardFeeItemDetailById(Long id)
    {
        return payStandardFeeItemDetailMapper.selectPayStandardFeeItemDetailById(id);
    }

    /**
     * 查询标准收费项目管理明细
     */
    public List<PayStandardFeeItemDetailVo> selectPayStandardFeeItemDetailByFeeItemId(Long feeItemId){
        return payStandardFeeItemDetailMapper.selectPayStandardFeeItemDetailByFeeItemId(feeItemId);
    }

    /**
     * 查询标准收费项目管理明细列表
     * 
     * @param payStandardFeeItemDetail 标准收费项目管理明细
     * @return 标准收费项目管理明细
     */
    @Override
    public List<PayStandardFeeItemDetailVo> selectPayStandardFeeItemDetailList(PayStandardFeeItemDetail payStandardFeeItemDetail)
    {
        return payStandardFeeItemDetailMapper.selectPayStandardFeeItemDetailList(payStandardFeeItemDetail);
    }

    /**
     * 新增标准收费项目管理明细
     * 
     * @param payStandardFeeItemDetail 标准收费项目管理明细
     * @return 结果
     */
    @Override
    public int insertPayStandardFeeItemDetail(PayStandardFeeItemDetail payStandardFeeItemDetail)
    {
        return payStandardFeeItemDetailMapper.insertPayStandardFeeItemDetail(payStandardFeeItemDetail);
    }


    /**
     * 新增标准收费项目管理明细
     *
     * @param details 标准收费项目管理明细
     * @return 结果
     */
    @Override
    public int insertPayStandardFeeItemDetailBatch(List<PayStandardFeeItemDetail> details){
        return payStandardFeeItemDetailMapper.insertBatch(details);
    }

    /**
     * 修改标准收费项目管理明细
     * 
     * @param payStandardFeeItemDetail 标准收费项目管理明细
     * @return 结果
     */
    @Override
    public int updatePayStandardFeeItemDetail(PayStandardFeeItemDetail payStandardFeeItemDetail)
    {
        return payStandardFeeItemDetailMapper.updatePayStandardFeeItemDetail(payStandardFeeItemDetail);
    }

    /**
     * 批量删除标准收费项目管理明细
     * 
     * @param ids 需要删除的标准收费项目管理明细主键
     * @return 结果
     */
    @Override
    public int deletePayStandardFeeItemDetailByIds(Long[] ids)
    {
        return payStandardFeeItemDetailMapper.deletePayStandardFeeItemDetailByIds(ids);
    }

    /**
     * 删除标准收费项目管理明细信息
     * 
     * @param id 标准收费项目管理明细主键
     * @return 结果
     */
    @Override
    public int deletePayStandardFeeItemDetailById(Long id)
    {
        return payStandardFeeItemDetailMapper.deletePayStandardFeeItemDetailById(id);
    }

    /**
     * 按照主表的主键删除
     *
     * @param feeItemId
     * @return 结果
     */
    @Override
    public int deletePayStandardFeeItemDetailByFeeItemId(Long feeItemId){
        return payStandardFeeItemDetailMapper.deletePayStandardFeeItemDetailByFeeItemId(feeItemId);
    }

    /**
     * 批量新增数据（MyBatis原生foreach方法）
     *
     * @param entities List<PayPrepaymentImport> 实例对象列表
     * @return 影响行数
     */
    @Override
    public int insertBatch(List<PayStandardFeeItemDetail> entities){
        return payStandardFeeItemDetailMapper.insertBatch(entities);
    }
}
